home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Resources / Audio, Video & Photo / MediaCoder 0.6.2.4200 / MediaCoder-0.6.2.4200.exe / codecs / lencod.cfg < prev    next >
Text File  |  2008-07-10  |  40KB  |  555 lines

  1. # New Input File Format is as follows
  2. # <ParameterName> = <ParameterValue> # Comment
  3. #
  4. # See configfile.h for a list of supported ParameterNames
  5. #
  6. # For bug reporting and known issues see:
  7. # https://ipbt.hhi.de
  8.  
  9.  
  10. ##########################################################################################
  11. # Files
  12. ##########################################################################################
  13. InputFile             = "foreman_part_qcif.yuv"       # Input sequence
  14. InputHeaderLength     = 0      # If the inputfile has a header, state it's length in byte here
  15. StartFrame            = 0      # Start frame for encoding. (0-N)
  16. FramesToBeEncoded     = 2      # Number of frames to be coded
  17. FrameRate             = 30.0   # Frame Rate per second (0.1-100.0)
  18. SourceWidth           = 176    # Source frame width
  19. SourceHeight          = 144    # Source frame height
  20. SourceResize          = 0      # Resize source size for output
  21. OutputWidth           = 176    # Output frame width
  22. OutputHeight          = 144    # Output frame height
  23.  
  24. TraceFile             = "trace_enc.txt"      # Trace file 
  25. ReconFile             = "test_rec.yuv"       # Recontruction YUV file
  26. OutputFile            = "test.264"           # Bitstream
  27. StatsFile             = "stats.dat"          # Coding statistics file
  28.  
  29. ##########################################################################################
  30. # Encoder Control
  31. ##########################################################################################
  32. ProfileIDC            = 66  # Profile IDC (66=baseline, 77=main, 88=extended; FREXT Profiles: 100=High, 110=High 10, 122=High 4:2:2, 244=High 4:4:4, 44=CAVLC 4:4:4 Intra)
  33. IntraProfile          = 0   # Activate Intra Profile for FRExt (0: false, 1: true)
  34.                             # (e.g. ProfileIDC=110, IntraProfile=1  =>  High 10 Intra Profile)
  35. LevelIDC              = 40  # Level IDC   (e.g. 20 = level 2.0)
  36.  
  37. IntraPeriod           = 0   # Period of I-pictures   (0=only first)
  38. IDRPeriod             = 0   # Period of IDR pictures (0=only first)
  39. AdaptiveIntraPeriod   = 1   # Adaptive intra period
  40. AdaptiveIDRPeriod     = 1   # Adaptive IDR period
  41. IntraDelay            = 0   # Intra (IDR) picture delay (i.e. coding structure of PPIPPP... )
  42. EnableIDRGOP          = 0   # Support for IDR closed GOPs (0: disabled, 1: enabled)
  43. EnableOpenGOP         = 0   # Support for open GOPs (0: disabled, 1: enabled)
  44. QPISlice              = 28  # Quant. param for I Slices (0-51)
  45. QPPSlice              = 28  # Quant. param for P Slices (0-51)
  46. FrameSkip             = 0   # Number of frames to be skipped in input (e.g 2 will code every third frame)
  47. ChromaQPOffset        = 0   # Chroma QP offset (-51..51)
  48.  
  49. DisableSubpelME       = 0   # Disable Subpixel Motion Estimation (0=off/default, 1=on)
  50. SearchRange           = 32  # Max search range
  51.  
  52. MEDistortionFPel      = 0   # Select error metric for Full-Pel ME    (0: SAD, 1: SSE, 2: Hadamard SAD)
  53. MEDistortionHPel      = 2   # Select error metric for Half-Pel ME    (0: SAD, 1: SSE, 2: Hadamard SAD)
  54. MEDistortionQPel      = 2   # Select error metric for Quarter-Pel ME (0: SAD, 1: SSE, 2: Hadamard SAD)
  55. MDDistortion          = 2   # Select error metric for Mode Decision  (0: SAD, 1: SSE, 2: Hadamard SAD)
  56. ChromaMCBuffer        = 1   # Calculate Color component interpolated values in advance and store them.
  57.                             # Provides a trade-off between memory and computational complexity
  58.                             # (0: disabled/default, 1: enabled)
  59. ChromaMEEnable        = 0   # Take into account Color component information during ME
  60.                             # (0: only first component/default, 
  61.                             #  1: All Color components - Integer refinement only
  62.                             #  2: All Color components - All refinements)
  63. ChromaMEWeight        = 1   # Weighting for chroma components. This parameter should have a relationship with color format.
  64.  
  65. NumberReferenceFrames = 1   # Number of previous frames used for inter motion search (0-16)
  66.  
  67. PList0References      = 0   # P slice List 0 reference override (0 disable, N <= NumberReferenceFrames)
  68. Log2MaxFNumMinus4     = 0   # Sets log2_max_frame_num_minus4 (-1 : based on FramesToBeEncoded/Auto, >=0 : Log2MaxFNumMinus4)
  69. Log2MaxPOCLsbMinus4   = -1  # Sets log2_max_pic_order_cnt_lsb_minus4 (-1 : Auto, >=0 : Log2MaxPOCLsbMinus4)
  70.  
  71. GenerateMultiplePPS   = 0  # Transmit multiple parameter sets. Currently parameters basically enable all WP modes (0: diabled, 1: enabled)
  72. ResendPPS             = 0  # Resend PPS (with pic_parameter_set_id 0) for every coded Frame/Field pair (0: disabled, 1: enabled)
  73.  
  74. MbLineIntraUpdate     = 0   # Error robustness(extra intra macro block updates)(0=off, N: One GOB every N frames are intra coded)
  75. RandomIntraMBRefresh  = 0   # Forced intra MBs per picture
  76. PSliceSkip            = 0   # P-Slice Skip mode consideration  (0=disable, 1=enable)
  77. PSliceSearch16x16     = 1   # P-Slice Inter block search 16x16 (0=disable, 1=enable)
  78. PSliceSearch16x8      = 1   # P-Slice Inter block search 16x8  (0=disable, 1=enable)
  79. PSliceSearch8x16      = 1   # P-Slice Inter block search  8x16 (0=disable, 1=enable)
  80. PSliceSearch8x8       = 1   # P-Slice Inter block search  8x8  (0=disable, 1=enable)
  81. PSliceSearch8x4       = 1   # P-Slice Inter block search  8x4  (0=disable, 1=enable)
  82. PSliceSearch4x8       = 1   # P-Slice Inter block search  4x8  (0=disable, 1=enable)
  83. PSliceSearch4x4       = 1   # P-Slice Inter block search  4x4  (0=disable, 1=enable)
  84. BSliceSkip            = 0   # B-Slice Skip mode consideration  (0=disable, 1=enable)
  85. BSliceSearch16x16     = 1   # B-Slice Inter block search 16x16 (0=disable, 1=enable)
  86. BSliceSearch16x8      = 1   # B-Slice Inter block search 16x8  (0=disable, 1=enable)
  87. BSliceSearch8x16      = 1   # B-Slice Inter block search  8x16 (0=disable, 1=enable)
  88. BSliceSearch8x8       = 1   # B-Slice Inter block search  8x8  (0=disable, 1=enable)
  89. BSliceSearch8x4       = 1   # B-Slice Inter block search  8x4  (0=disable, 1=enable)
  90. BSliceSearch4x8       = 1   # B-Slice Inter block search  4x8  (0=disable, 1=enable)
  91. BSliceSearch4x4       = 1   # B-Slice Inter block search  4x4  (0=disable, 1=enable)
  92.  
  93. DisableIntra4x4        = 0  # Disable Intra 4x4 mode
  94. DisableIntra16x16      = 0  # Disable Intra 16x16 mode
  95. DisableIntraInInter    = 0  # Disable Intra modes for inter slices
  96. IntraDisableInterOnly  = 0  # Apply Disabling Intra conditions only to Inter Slices (0:disable/default,1: enable)
  97. Intra4x4ParDisable     = 0  # Disable Vertical & Horizontal 4x4
  98. Intra4x4DiagDisable    = 0  # Disable Diagonal 45degree 4x4
  99. Intra4x4DirDisable     = 0  # Disable Other Diagonal 4x4
  100. Intra16x16ParDisable   = 0  # Disable Vertical & Horizontal 16x16
  101. Intra16x16PlaneDisable = 0  # Disable Planar 16x16
  102. ChromaIntraDisable     = 0  # Disable Intra Chroma modes other than DC
  103. EnableIPCM             = 1  # Enable IPCM macroblock mode
  104.  
  105. DisposableP            = 0  # Enable Disposable P slices in the primary layer (0: disable/default, 1: enable)
  106. DispPQPOffset          = 0  # Quantizer offset for disposable P slices (0: default)
  107.  
  108. ##########################################################################################
  109. # B Slices
  110. ##########################################################################################
  111.  
  112. NumberBFrames          = 0  # Number of B coded frames inserted (0=not used)
  113. QPBSlice               = 30 # Quant. param for B slices (0-51)
  114. BRefPicQPOffset        = -1 # Quantization offset for reference B coded pictures (-51..51)
  115. DirectModeType         = 1  # Direct Mode Type (0:Temporal 1:Spatial)
  116. DirectInferenceFlag    = 1  # Direct Inference Flag (0: Disable 1: Enable)
  117. BList0References       = 0  # B slice List 0 reference override (0 disable, N <= NumberReferenceFrames)
  118. BList1References       = 1  # B slice List 1 reference override (0 disable, N <= NumberReferenceFrames)
  119.                             # 1 List1 reference is usually recommended for normal GOP Structures.
  120.                             # A larger value is usually more appropriate if a more flexible
  121.                             # structure is used (i.e. using HierarchicalCoding)
  122.  
  123. BReferencePictures    =  0  # Referenced B coded pictures (0=off, 1=B references for secondary layer, 2=B references for primary layer)
  124.  
  125. HierarchicalCoding      =  0  # B hierarchical coding (0= off, 1= 2 layers, 2= 2 full hierarchy, 3 = explicit)
  126. HierarchyLevelQPEnable  =  1  # Adjust QP based on hierarchy level (in increments of 1). Overrides BRefPicQPOffset behavior.(0=off, 1=on)
  127. ExplicitHierarchyFormat = "b1r0b3r0b2e2b0e2b4r2" # Explicit Enhancement GOP. Format is {FrameDisplay_orderReferenceQP}.
  128.                                                  # Valid values for reference type is r:reference, e:non reference.
  129. ReferenceReorder      =  1  # Reorder References according to Poc distance for HierarchicalCoding (0=off, 1=enable)
  130. PocMemoryManagement   =  1  # Memory management based on Poc Distances for HierarchicalCoding (0=off, 1=on)
  131.  
  132. BiPredMotionEstimation = 1   # Enable Bipredictive based Motion Estimation (0:disabled, 1:enabled)
  133. BiPredMERefinements    = 3   # Bipredictive ME extra refinements (0: single, N: N extra refinements (1 default)
  134. BiPredMESearchRange    = 16  # Bipredictive ME Search range (8 default). Note that range is halved for every extra refinement.
  135. BiPredMESubPel         = 2   # Bipredictive ME Subpixel Consideration (0: disabled, 1: single level, 2: dual level)
  136.  
  137.  
  138. ##########################################################################################
  139. # SP Frames
  140. ##########################################################################################
  141.  
  142. SPPicturePeriodicity  = 0                  # SP-Picture Periodicity (0=not used)
  143. QPSPSlice             = 36                 # Quant. param of SP-Slices for Prediction Error (0-51)
  144. QPSP2Slice            = 35                 # Quant. param of SP-Slices for Predicted Blocks (0-51)
  145. SI_FRAMES             = 0                  # SI frame encoding flag (0=not used, 1=used)
  146. SP_output             = 0                  # Controls whether coefficients will be output to encode switching SP frames (0=no, 1=yes)
  147. SP_output_name        = "low_quality.dat"  # Filename for SP output coefficients
  148. SP2_FRAMES            = 0                  # switching SP frame encoding flag (0=not used, 1=used)
  149. SP2_input_name1       = "high_quality.dat" # Filename for the first swithed bitstream coefficients
  150. SP2_input_name2       = "low_quality.dat"  # Filename for the second switched bitstream coefficients
  151.  
  152. ##########################################################################################
  153. # Output Control, NALs
  154. ##########################################################################################
  155.  
  156. SymbolMode             =  0  # Symbol mode (Entropy coding method: 0=UVLC, 1=CABAC)
  157. OutFileMode            =  0  # Output file mode, 0:Annex B, 1:RTP
  158. PartitionMode          =  0  # Partition Mode, 0: no DP, 1: 3 Partitions per Slice
  159.  
  160. ##########################################################################################
  161. # CABAC context initialization
  162. ##########################################################################################
  163.  
  164. ContextInitMethod        =  1     # Context init (0: fixed, 1: adaptive)
  165. FixedModelNumber         =  0     # model number for fixed decision for inter slices ( 0, 1, or 2 )
  166.  
  167. ##########################################################################################
  168. # Interlace Handling
  169. #########################################################################################
  170.  
  171. PicInterlace             =  0     # Picture AFF    (0: frame coding, 1: field coding, 2:adaptive frame/field coding)
  172. MbInterlace              =  0     # Macroblock AFF (0: frame coding, 1: field coding, 2:adaptive frame/field coding, 3: frame MB-only AFF)
  173. IntraBottom              =  0     # Force Intra Bottom at GOP Period
  174.  
  175. ##########################################################################################
  176. # Weighted Prediction
  177. #########################################################################################
  178.  
  179. WeightedPrediction       =  0     # P picture Weighted Prediction (0=off, 1=explicit mode)
  180. WeightedBiprediction     =  0     # B picture Weighted Prediciton (0=off, 1=explicit mode,  2=implicit mode)
  181. UseWeightedReferenceME   =  0     # Use weighted reference for ME (0=off, 1=on)
  182.  
  183. ##########################################################################################
  184. # Picture based Multi-pass encoding
  185. #########################################################################################
  186.  
  187. RDPictureDecision        =  0     # Perform RD optimal decision between different coded picture versions.
  188.                                   # If GenerateMultiplePPS is enabled then this will test different WP methods.
  189.                                   # Otherwise it will test QP +-1 (0: disabled, 1: enabled)
  190. RDPictureIntra           =  0     # Perform RD optimal decision also for intra coded pictures (0: disabled (default), 1: enabled).
  191. RDPSliceWeightOnly       =  1     # Only consider Weighted Prediction for P slices in Picture RD decision. (0: disabled, 1: enabled (default))
  192. RDBSliceWeightOnly       =  0     # Only consider Weighted Prediction for B slices in Picture RD decision. (0: disabled (default), 1: enabled )
  193. RDPSliceBTest            =  1     # Perform Slice level RD decision between P and P slices. 
  194.                                   # Requires RDPSliceWeightOnly = 0. (0: disabled (default), 1: enabled )
  195.  
  196. ##########################################################################################
  197. # Deblocking filter parameters
  198. ##########################################################################################
  199.  
  200. DFParametersFlag         = 0      # Configure deblocking filter (0=parameters below ignored, 1=parameters sent)
  201.                                                                 # Note that for pictures with multiple slice types, 
  202.                                   # only the type of the first slice will be considered.
  203. DFDisableRefISlice       = 0      # Disable deblocking filter in reference I coded pictures (0=Filter, 1=No Filter). 
  204. DFAlphaRefISlice         = 0      # Reference I coded pictures Alpha offset div. 2, {-6, -5, ... 0, +1, .. +6}
  205. DFBetaRefISlice          = 0      # Reference I coded pictures Beta offset div. 2, {-6, -5, ... 0, +1, .. +6}
  206. DFDisableNRefISlice      = 0      # Disable deblocking filter in non reference I coded pictures (0=Filter, 1=No Filter). 
  207. DFAlphaNRefISlice        = 0      # Non Reference I coded pictures Alpha offset div. 2, {-6, -5, ... 0, +1, .. +6}
  208. DFBetaNRefISlice         = 0      # Non Reference I coded pictures Beta offset div. 2, {-6, -5, ... 0, +1, .. +6}
  209. DFDisableRefPSlice       = 0      # Disable deblocking filter in reference P coded pictures (0=Filter, 1=No Filter). 
  210. DFAlphaRefPSlice         = 0      # Reference P coded pictures Alpha offset div. 2, {-6, -5, ... 0, +1, .. +6}
  211. DFBetaRefPSlice          = 0      # Reference P coded pictures Beta offset div. 2, {-6, -5, ... 0, +1, .. +6}
  212. DFDisableNRefPSlice      = 0      # Disable deblocking filter in non reference P coded pictures (0=Filter, 1=No Filter). 
  213. DFAlphaNRefPSlice        = 0      # Non Reference P coded pictures Alpha offset div. 2, {-6, -5, ... 0, +1, .. +6}
  214. DFBetaNRefPSlice         = 0      # Non Reference P coded pictures Beta offset div. 2, {-6, -5, ... 0, +1, .. +6}
  215. DFDisableRefBSlice       = 0      # Disable deblocking filter in reference B coded pictures (0=Filter, 1=No Filter). 
  216. DFAlphaRefBSlice         = 0      # Reference B coded pictures Alpha offset div. 2, {-6, -5, ... 0, +1, .. +6}
  217. DFBetaRefBSlice          = 0      # Reference B coded pictures Beta offset div. 2, {-6, -5, ... 0, +1, .. +6}
  218. DFDisableNRefBSlice      = 0      # Disable deblocking filter in non reference B coded pictures (0=Filter, 1=No Filter). 
  219. DFAlphaNRefBSlice        = 0      # Non Reference B coded pictures Alpha offset div. 2, {-6, -5, ... 0, +1, .. +6}
  220. DFBetaNRefBSlice         = 0      # Non Reference B coded pictures Beta offset div. 2, {-6, -5, ... 0, +1, .. +6}
  221.  
  222. ##########################################################################################
  223. # Error Resilience / Slices
  224. ##########################################################################################
  225.  
  226. SliceMode             =  0   # Slice mode (0=off 1=fixed #mb in slice 2=fixed #bytes in slice 3=use callback)
  227. SliceArgument         = 50   # Slice argument (Arguments to modes 1 and 2 above)
  228.  
  229. num_slice_groups_minus1 = 0  # Number of Slice Groups Minus 1, 0 == no FMO, 1 == two slice groups, etc.
  230. slice_group_map_type    = 0  # 0:  Interleave, 1: Dispersed,    2: Foreground with left-over,
  231.                              # 3:  Box-out,    4: Raster Scan   5: Wipe
  232.                              # 6:  Explicit, slice_group_id read from SliceGroupConfigFileName
  233. slice_group_change_direction_flag = 0    # 0: box-out clockwise, raster scan or wipe right,
  234.                                          # 1: box-out counter clockwise, reverse raster scan or wipe left
  235. slice_group_change_rate_minus1    = 85   #
  236. SliceGroupConfigFileName          = "sg0conf.cfg"   # Used for slice_group_map_type 0, 2, 6
  237.  
  238. UseRedundantPicture   = 0    # 0: not used, 1: enabled
  239. NumRedundantHierarchy = 1    # 0-4
  240. PrimaryGOPLength      = 10   # GOP length for redundant allocation (1-16)
  241.                              # NumberReferenceFrames must be no less than PrimaryGOPLength when redundant slice enabled
  242. NumRefPrimary         = 1    # Actually used number of references for primary slices (1-16)
  243.  
  244. ##########################################################################################
  245. # Search Range Restriction / RD Optimization
  246. ##########################################################################################
  247.  
  248. RestrictSearchRange    =  2  # restriction for (0: blocks and ref, 1: ref, 2: no restrictions)
  249. RDOptimization         =  1  # rd-optimized mode decision
  250.                              # 0: RD-off (Low complexity mode)
  251.                              # 1: RD-on (High complexity mode)
  252.                              # 2: RD-on (Fast high complexity mode - not work in FREX Profiles)
  253.                              # 3: with losses
  254. CtxAdptLagrangeMult    =  0  # Context Adaptive Lagrange Multiplier
  255.                              # 0: disabled (default)
  256.                              # 1: enabled (works best when RDOptimization=0)
  257. FastCrIntraDecision    =  1  # Fast Chroma intra mode decision (0:off, 1:on)
  258. DisableThresholding    =  0  # Disable Thresholding of Transform Coefficients (0:off, 1:on)
  259. DisableBSkipRDO        =  0  # Disable B Skip Mode consideration from RDO Mode decision (0:off, 1:on)
  260. SkipIntraInInterSlices =  0  # Skips Intra mode checking in inter slices if certain mode decisions are satisfied (0: off, 1: on)
  261. WeightY                =  1  # Luma weight for RDO
  262. WeightCb               =  1  # Cb weight for RDO
  263. WeightCr               =  1  # Cr weight for RDO
  264.  
  265. ##########################################################################################
  266. # Explicit Lambda Usage
  267. ##########################################################################################
  268. UseExplicitLambdaParams  =  0    # Use explicit lambda scaling parameters (0:disabled, 1:enable lambda weight, 2: use explicit lambda value)
  269. FixedLambdaISlice        =  0.1  # Fixed Lambda value for I slices
  270. FixedLambdaPSlice        =  0.1  # Fixed Lambda value for P slices
  271. FixedLambdaBSlice        =  0.1  # Fixed Lambda value for B slices
  272. FixedLambdaRefBSlice     =  0.1  # Fixed Lambda value for Referenced B slices
  273. FixedLambdaSPSlice       =  0.1  # Fixed Lambda value for SP slices
  274. FixedLambdaSISlice       =  0.1  # Fixed Lambda value for SI slices
  275.  
  276. LambdaWeightISlice       =  0.65 # scaling param for I slices. This will be used as a multiplier i.e. lambda=LambdaWeightISlice * 2^((QP-12)/3)
  277. LambdaWeightPSlice       =  0.68 # scaling param for P slices. This will be used as a multiplier i.e. lambda=LambdaWeightPSlice * 2^((QP-12)/3)
  278. LambdaWeightBSlice       =  0.68 # scaling param for B slices. This will be used as a multiplier i.e. lambda=LambdaWeightBSlice * 2^((QP-12)/3)
  279. LambdaWeightRefBSlice    =  0.68 # scaling param for Referenced B slices. This will be used as a multiplier i.e. lambda=LambdaWeightRefBSlice * 2^((QP-12)/3)
  280. LambdaWeightSPSlice      =  0.68 # scaling param for SP slices. This will be used as a multiplier i.e. lambda=LambdaWeightSPSlice * 2^((QP-12)/3)
  281. LambdaWeightSISlice      =  0.65 # scaling param for SI slices. This will be used as a multiplier i.e. lambda=LambdaWeightSISlice * 2^((QP-12)/3)
  282.  
  283. LossRateA                =  5  # expected packet loss rate of the channel for the first partition, only valid if RDOptimization = 3
  284. LossRateB                =  0  # expected packet loss rate of the channel for the second partition, only valid if RDOptimization = 3
  285. LossRateC                =  0  # expected packet loss rate of the channel for the third partition, only valid if RDOptimization = 3
  286. NumberOfDecoders         = 30  # Numbers of decoders used to simulate the channel, only valid if RDOptimization = 3
  287. RestrictRefFrames        =  0  # Doesnt allow reference to areas that have been intra updated in a later frame.
  288.  
  289. ##########################################################################################
  290. # Additional Stuff
  291. #########################################################################################
  292.  
  293. UseConstrainedIntraPred  =  0  # If 1, Inter pixels are not used for Intra macroblock prediction.
  294. LastFrameNumber          =  0  # Last frame number that have to be coded (0: no effect)
  295. ChangeQPI                = 16  # QP (I-slices)  for second part of sequence (0-51)
  296. ChangeQPP                = 16  # QP (P-slices)  for second part of sequence (0-51)
  297. ChangeQPB                = 18  # QP (B-slices)  for second part of sequence (0-51)
  298. ChangeQPBSRefOffset      =  2  # QP offset (stored B-slices)  for second part of sequence (-51..51)
  299. ChangeQPStart            =  0  # Frame no. for second part of sequence (0: no second part)
  300.  
  301. NumberofLeakyBuckets     =  8                      # Number of Leaky Bucket values
  302. LeakyBucketRateFile      =  "leakybucketrate.cfg"  # File from which encoder derives rate values
  303. LeakyBucketParamFile     =  "leakybucketparam.cfg" # File where encoder stores leakybucketparams
  304.  
  305. NumberFramesInEnhancementLayerSubSequence  = 0  # number of frames in the Enhanced Scalability Layer(0: no Enhanced Layer)
  306.  
  307. SparePictureOption        =  0   # (0: no spare picture info, 1: spare picture available)
  308. SparePictureDetectionThr  =  6   # Threshold for spare reference pictures detection
  309. SparePicturePercentageThr = 92   # Threshold for the spare macroblock percentage
  310.  
  311. PicOrderCntType           = 0    # (0: POC mode 0, 1: POC mode 1, 2: POC mode 2)
  312.  
  313. ########################################################################################
  314. #Rate control
  315. ########################################################################################
  316.  
  317. RateControlEnable       = 1     # 0 Disable, 1 Enable
  318. Bitrate                 = 45020 # Bitrate(bps)
  319. InitialQP               = 0     # Initial Quantization Parameter for the first I frame
  320.                                 # InitialQp depends on two values: Bits Per Picture,
  321.                                 # and the GOP length
  322. BasicUnit               = 1     # Number of basic units in the frame
  323.                                 # should be a fraction of the total number
  324.                                 # of MBs in a frame
  325. ChannelType             = 0     # type of channel( 1=time varying channel; 0=Constant channel)
  326. RCUpdateMode            = 0     # Rate Control type. Modes supported :
  327.                                 # 0 = original JM rate control,
  328.                                 # 1 = rate control that is applied to all frames regardless of the slice type,
  329.                                 # 2 = original plus intelligent QP selection for I and B slices (including Hierarchical),
  330.                                 # 3 = original + hybrid quadratic rate control for I and B slice using bit rate statistics
  331.                                 #
  332. RCISliceBitRatio        = 1.0   # target ratio of bits for I-coded pictures compared to P-coded Pictures (for RCUpdateMode=3)
  333. RCBSliceBitRatio0       = 0.5   # target ratio of bits for B-coded pictures compared to P-coded Pictures - temporal level 0 (for RCUpdateMode=3)
  334. RCBSliceBitRatio1       = 0.25  # target ratio of bits for B-coded pictures compared to P-coded Pictures - temporal level 1 (for RCUpdateMode=3)
  335. RCBSliceBitRatio2       = 0.25  # target ratio of bits for B-coded pictures compared to P-coded Pictures - temporal level 2 (for RCUpdateMode=3)
  336. RCBSliceBitRatio3       = 0.25  # target ratio of bits for B-coded pictures compared to P-coded Pictures - temporal level 3 (for RCUpdateMode=3)
  337. RCBSliceBitRatio4       = 0.25  # target ratio of bits for B-coded pictures compared to P-coded Pictures - temporal level 4 (for RCUpdateMode=3)
  338. RCBoverPRatio           = 0.45  # ratio of bit rate usage of a B-coded picture over a P-coded picture for the SAME QP (for RCUpdateMode=3)
  339. RCIoverPRatio           = 3.80  # ratio of bit rate usage of an I-coded picture over a P-coded picture for the SAME QP (for RCUpdateMode=3)
  340. RCMinQPPSlice           =  8    # minimum P Slice QP value for rate control
  341. RCMaxQPPSlice           = 40    # maximum P Slice QP value for rate control
  342. RCMinQPBSlice           =  8    # minimum B Slice QP value for rate control
  343. RCMaxQPBSlice           = 46    # maximum B Slice QP value for rate control
  344. RCMinQPISlice           =  8    # minimum I Slice QP value for rate control
  345. RCMaxQPISlice           = 36    # maximum I Slice QP value for rate control
  346. RCMinQPSPSlice          =  8    # minimum SP Slice QP value for rate control
  347. RCMaxQPSPSlice          = 40    # maximum SP Slice QP value for rate control
  348. RCMinQPSISlice          =  8    # minimum SI Slice QP value for rate control
  349. RCMaxQPSISlice          = 36    # maximum SI Slice QP value for rate control
  350. RCMaxQPChange           =  4    # maximum QP change for frames of the base layer
  351.  
  352. ########################################################################################
  353. #Fast Mode Decision
  354. ########################################################################################
  355. EarlySkipEnable         = 0     # Early skip detection (0: Disable 1: Enable)
  356. SelectiveIntraEnable    = 0     # Selective Intra mode decision (0: Disable 1: Enable)
  357.  
  358. ########################################################################################
  359. #FREXT stuff
  360. ########################################################################################
  361.  
  362. YUVFormat               = 1     # YUV format (0=4:0:0, 1=4:2:0, 2=4:2:2, 3=4:4:4)
  363. RGBInput                = 0     # 1=RGB input, 0=GBR or YUV input
  364. SeparateColourPlane     = 0     # 4:4:4 coding: 0=Common mode, 1=Independent mode
  365. SourceBitDepthLuma      = 8     # Source Bit Depth for Luma color component (8...14 bits)
  366. SourceBitDepthChroma    = 8     # Source Bit Depth for Chroma color components (8...14 bits)
  367. SourceBitDepthRescale   = 0     # Rescale bit depth of source for output (0: Disable 1: Enable)
  368. OutputBitDepthLuma      = 8     # Output Bit Depth for Luma color component (8...14 bits)
  369. OutputBitDepthChroma    = 8     # Output Bit Depth for Chroma color components (8...14 bits)
  370.  
  371. CbQPOffset              = 0     # Chroma QP offset for Cb-part (-51..51)
  372. CrQPOffset              = 0     # Chroma QP offset for Cr-part (-51..51)
  373. Transform8x8Mode        = 0     # (0: only 4x4 transform, 1: allow using 8x8 transform additionally, 2: only 8x8 transform)
  374. ReportFrameStats        = 0     # (0:Disable Frame Statistics 1: Enable)
  375. DisplayEncParams        = 0     # (0:Disable Display of Encoder Params 1: Enable)
  376. Verbose                 = 1     # level of display verboseness (0:short, 1:normal, 2:detailed)
  377.  
  378. ########################################################################################
  379. #Q-Matrix (FREXT)
  380. ########################################################################################
  381. QmatrixFile              = "q_matrix.cfg"
  382.  
  383. ScalingMatrixPresentFlag = 0    # Enable Q_Matrix  (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
  384. ScalingListPresentFlag0  = 3    # Intra4x4_Luma    (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
  385. ScalingListPresentFlag1  = 3    # Intra4x4_ChromaU (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
  386. ScalingListPresentFlag2  = 3    # Intra4x4_chromaV (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
  387. ScalingListPresentFlag3  = 3    # Inter4x4_Luma    (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
  388. ScalingListPresentFlag4  = 3    # Inter4x4_ChromaU (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
  389. ScalingListPresentFlag5  = 3    # Inter4x4_ChromaV (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
  390. ScalingListPresentFlag6  = 3    # Intra8x8_Luma    (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
  391. ScalingListPresentFlag7  = 3    # Inter8x8_Luma    (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
  392. ScalingListPresentFlag8  = 1    # Intra8x8_ChromaU for 4:4:4 (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
  393. ScalingListPresentFlag9  = 3    # Inter8x8_ChromaU for 4:4:4 (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
  394. ScalingListPresentFlag10 = 2    # Intra8x8_ChromaV for 4:4:4 (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
  395. ScalingListPresentFlag11 = 3    # Inter8x8_ChromaV for 4:4:4 (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
  396.  
  397. ########################################################################################
  398. #Rounding Offset control
  399. ########################################################################################
  400.  
  401. OffsetMatrixPresentFlag  = 1    # Enable Explicit Offset Quantization Matrices  (0: disable 1: enable)
  402. QOffsetMatrixFile        = "q_offset.cfg" # Explicit Quantization Matrices file
  403.  
  404. AdaptiveRounding         = 1    # Enable Adaptive Rounding based on JVT-N011 (0: disable, 1: enable)
  405. AdaptRoundingFixed       = 1    # Enable Global Adaptive rounding for all qps (0: disable, 1: enable - default/old)
  406. AdaptRndPeriod           = 16   # Period in terms of MBs for updating rounding offsets. 
  407.                                 # 0 performs update at the picture level. Default is 16. 1 is as in JVT-N011.
  408. AdaptRndChroma           = 1    # Enables coefficient rounding adaptation for chroma
  409.  
  410. AdaptRndWFactorIRef      = 4    # Adaptive Rounding Weight for I/SI slices in reference pictures /4096
  411. AdaptRndWFactorPRef      = 4    # Adaptive Rounding Weight for P/SP slices in reference pictures /4096
  412. AdaptRndWFactorBRef      = 4    # Adaptive Rounding Weight for B slices in reference pictures /4096
  413. AdaptRndWFactorINRef     = 4    # Adaptive Rounding Weight for I/SI slices in non reference pictures /4096
  414. AdaptRndWFactorPNRef     = 4    # Adaptive Rounding Weight for P/SP slices in non reference pictures /4096
  415. AdaptRndWFactorBNRef     = 4    # Adaptive Rounding Weight for B slices in non reference pictures /4096
  416.  
  417. AdaptRndCrWFactorIRef    = 4    # Chroma Adaptive Rounding Weight for I/SI slices in reference pictures /4096
  418. AdaptRndCrWFactorPRef    = 4    # Chroma Adaptive Rounding Weight for P/SP slices in reference pictures /4096
  419. AdaptRndCrWFactorBRef    = 4    # Chroma Adaptive Rounding Weight for B slices in reference pictures /4096
  420. AdaptRndCrWFactorINRef   = 4    # Chroma Adaptive Rounding Weight for I/SI slices in non reference pictures /4096
  421. AdaptRndCrWFactorPNRef   = 4    # Chroma Adaptive Rounding Weight for P/SP slices in non reference pictures /4096
  422. AdaptRndCrWFactorBNRef   = 4    # Chroma Adaptive Rounding Weight for B slices in non reference pictures /4096
  423.  
  424. ################################################################
  425. # Rate Distortion Optimized Quantization
  426. ################################################################
  427. UseRDOQuant              =  0 # Use Rate Distortion Optimized Quantization (0=disable, 1=enable)
  428. RDOQ_CR                  =  0 # Enable Rate Distortion Optimized Quantization for Chroma components (0=disable, 1=enable)
  429. RDOQ_QP_Num              =  1 # 1-5: Number of QP tested in RDO_Q (I/P/B slice)
  430. RDOQ_CP_Mode             =  1 # copy Mode from first QP tested
  431. RDOQ_CP_MV               =  0 # copy MV from first QP tested
  432. RDOQ_Fast                =  0 # Fast RDOQ decision method for multiple QPs
  433.  
  434. ########################################################################################
  435. #Lossless Coding (FREXT)
  436. ########################################################################################
  437.  
  438. QPPrimeYZeroTransformBypassFlag = 0    # Enable lossless coding when qpprime_y is zero (0 Disabled, 1 Enabled)
  439.  
  440. ########################################################################################
  441. #Fast Motion Estimation Control Parameters
  442. ########################################################################################
  443.  
  444. SearchMode               = 0    # Use fast motion estimation (0=disable/default, 1=UMHexagonS, 
  445.                                 # 2=Simplified UMHexagonS, 3=EPZS patterns)
  446. UMHexDSR                 = 1    # Use Search Range Prediction. Only for UMHexagonS method
  447.                                 # (0:disable, 1:enabled/default)
  448. UMHexScale               = 3    # Use Scale_factor for different image sizes. Only for UMHexagonS method
  449.                                 # (0:disable, 3:/default)
  450.                                 # Increasing value can speed up Motion Search.
  451.  
  452. EPZSPattern              = 2    # Select EPZS primary refinement pattern.
  453.                                 # (0: small diamond, 1: square, 2: extended diamond/default,
  454.                                 # 3: large diamond, 4: SBP Large Diamond,
  455.                                 # 5: PMVFAST )
  456. EPZSDualRefinement       = 3    # Enables secondary refinement pattern.
  457.                                 # (0:disabled, 1: small diamond, 2: square,
  458.                                 # 3: extended diamond/default, 4: large diamond,
  459.                                 # 5: SBP Large Diamond, 6: PMVFAST )
  460. EPZSFixedPredictors      = 2    # Enables Window based predictors
  461.                                 # (0:disabled, 1: P only, 2: P and B/default)
  462. EPZSTemporal             = 1    # Enables temporal predictors
  463.                                 # (0: disabled, 1: enabled/default)
  464. EPZSSpatialMem           = 1    # Enables spatial memory predictors
  465.                                 # (0: disabled, 1: enabled/default)
  466. EPZSMinThresScale        = 0    # Scaler for EPZS minimum threshold (0 default).
  467.                                 # Increasing value can speed up encoding.
  468. EPZSMedThresScale        = 1    # Scaler for EPZS median threshold (1 default).
  469.                                 # Increasing value can speed up encoding.
  470. EPZSMaxThresScale        = 2    # Scaler for EPZS maximum threshold (1 default).
  471.                                 # Increasing value can speed up encoding.
  472. EPZSSubPelME             = 1    # EPZS Subpel ME consideration
  473. EPZSSubPelMEBiPred       = 1    # EPZS Subpel ME consideration for BiPred partitions
  474. EPZSSubPelThresScale     = 2    # EPZS Subpel ME Threshold scaler
  475. EPZSSubPelGrid           = 1    # Perform EPZS using a subpixel grid
  476.  
  477. ########################################################################################
  478. # SEI Parameters
  479. ########################################################################################
  480.  
  481. ToneMappingSEIPresentFlag = 0    # Enable Tone mapping SEI  (0 Not present, 1 Present)
  482. ToneMappingFile           = "ToneMapping.cfg"
  483.  
  484. GenerateSEIMessage        = 0                    # Generate an SEI Text Message
  485. SEIMessageText            = "H.264/AVC Encoder"  # Text SEI Message
  486.  
  487. ########################################################################################
  488. # VUI Parameters
  489. ########################################################################################
  490. # the variables below do not affect encoding and decoding
  491. # (many are dummy variables but others can be useful when supported by the decoder)
  492.  
  493. EnableVUISupport                                = 0      # Enable VUI Parameters
  494.  
  495. # display parameters
  496. VUI_aspect_ratio_info_present_flag              = 0
  497. VUI_aspect_ratio_idc                            = 1
  498. VUI_sar_width                                   = 0
  499. VUI_sar_height                                  = 0
  500. VUI_overscan_info_present_flag                  = 0
  501. VUI_overscan_appropriate_flag                   = 0
  502. VUI_video_signal_type_present_flag              = 0
  503. VUI_video_format                                = 5
  504. VUI_video_full_range_flag                       = 0
  505. VUI_colour_description_present_flag             = 0
  506. VUI_colour_primaries                            = 2
  507. VUI_transfer_characteristics                    = 2
  508. VUI_matrix_coefficients                         = 2
  509. VUI_chroma_location_info_present_flag           = 0
  510. VUI_chroma_sample_loc_type_top_field            = 0
  511. VUI_chroma_sample_loc_type_bottom_field         = 0
  512. VUI_timing_info_present_flag                    = 0
  513. VUI_num_units_in_tick                           = 1000
  514. VUI_time_scale                                  = 60000
  515. VUI_fixed_frame_rate_flag                       = 0
  516.  
  517. # nal hrd parameters
  518. VUI_nal_hrd_parameters_present_flag             = 0
  519. VUI_nal_cpb_cnt_minus1                          = 0
  520. VUI_nal_bit_rate_scale                          = 0
  521. VUI_nal_cpb_size_scale                          = 0
  522. VUI_nal_bit_rate_value_minus1                   = 0
  523. VUI_nal_cpb_size_value_minus1                   = 0
  524. VUI_nal_vbr_cbr_flag                            = 0
  525. VUI_nal_initial_cpb_removal_delay_length_minus1 = 23
  526. VUI_nal_cpb_removal_delay_length_minus1         = 23
  527. VUI_nal_dpb_output_delay_length_minus1          = 23
  528. VUI_nal_time_offset_length                      = 24
  529.  
  530. # vlc hrd parameters
  531. VUI_vcl_hrd_parameters_present_flag             = 0
  532. VUI_vcl_cpb_cnt_minus1                          = 0
  533. VUI_vcl_bit_rate_scale                          = 0
  534. VUI_vcl_cpb_size_scale                          = 0
  535. VUI_vcl_bit_rate_value_minus1                   = 0
  536. VUI_vcl_cpb_size_value_minus1                   = 0
  537. VUI_vcl_vbr_cbr_flag                            = 0
  538. VUI_vcl_initial_cpb_removal_delay_length_minus1 = 23
  539. VUI_vcl_cpb_removal_delay_length_minus1         = 23
  540. VUI_vcl_dpb_output_delay_length_minus1          = 23
  541. VUI_vcl_time_offset_length                      = 24
  542. VUI_low_delay_hrd_flag                          = 0
  543.  
  544. # other params (i.e. bitsream restrictions)
  545. VUI_pic_struct_present_flag                     = 0
  546. VUI_bitstream_restriction_flag                  = 0
  547. VUI_motion_vectors_over_pic_boundaries_flag     = 1
  548. VUI_max_bytes_per_pic_denom                     = 0
  549. VUI_max_bits_per_mb_denom                       = 0
  550. VUI_log2_max_mv_length_vertical                 = 16
  551. VUI_log2_max_mv_length_horizontal               = 16
  552. VUI_num_reorder_frames                          = 16
  553. VUI_max_dec_frame_buffering                     = 16
  554.  
  555.